package com.ruoyi.yp.domain.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import liquibase.pro.packaged.J;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.math.BigDecimal;
import java.util.Date;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 样品业务对象 yp_bs_yp
 *
 * @author zyb
 * @date 2024-03-29
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class BsYpBo extends BaseEntity {

    /**
     * 样品id
     */
    @NotNull(message = "样品id不能为空", groups = { EditGroup.class })
    private Long ypId;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ypNum;

    /**
     * 样品分类
     */
    @NotBlank(message = "样品分类不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ypClass;

    /**
     * 原材料进场台账id可以没有
     */
    @NotNull(message = "原材料进场台账id可以没有不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long tzId;

    /**
     * 样品描述
     */
    @NotBlank(message = "样品描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ypDescribe;

    /**
     * 工程部位
     */
    @NotBlank(message = "工程部位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gcbw;

    /**
     * 分部分项名称
     */
    @NotBlank(message = "分部分项名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fbfxmc;

    /**
     * 样品日期
     */
    @NotNull(message = "样品日期不能为空", groups = {AddGroup.class, EditGroup.class})
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date ypDate;

    /**
     * 取样人
     */
    @NotBlank(message = "取样人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ypPerson;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ypStatus;

    /**
     * 试验类型id
     */
    private Long syType;

    /**
     * 试验室id
     */
    private Long deptId;

    // 2024-6-3 excel中展示信息 补充

    /**
     * 样品状态excel中使用
     */
    private String yangpzt;
    /**
     * 样品数量excel中使用
     */
    private String yangpsl;
    /**
     * 样品名称excel中使用
     */
    private String yangpmc;

    /**
     * 代表数量 excel中使用
     */
    private String daibsl;

    /**
     * 规格型号
     */
    private String guigxh;
    /**
     * 产地厂家
     */
    private String chandcj;
    /**
     * 批号
     */
    private String pih;
    /**
     * 进场时间
     */
    private Date inDate;

}
